15. 什么是向量?

什么是向量?物理与计算机编程

你可能之前学过,向量是一个既有 大小又有方向 的测量值或数量。例如,沿 y 轴的距离或向西北方向的速度都是向量。

但在计算机编程中,当我们说“向量”时,我们指的仅仅是 值列表

这两种关于向量的定义方式实际上是密切相关的,但是在本纳米学位中,我们将从计算机科学的角度来看向量。

无人驾驶车中的向量、移动模型和卡尔曼滤波器

在物理课上,我们会有一个位置向量和一个单独的速度向量。但在计算机编程中,向量只是一个值的列表。

当使用卡尔曼滤波器公式时,粗体、小写的变量 \mathbf{x} 表示计算机编程意义上的一个向量。 \mathbf{x} 向量保存表示你的移动模型的值,如位置和速度。

在基本移动模型中,向量 \mathbf{x} 将包含有关位置和线速度的信息,如: \mathbf{x} = [x, y, v_x, v_y] 。在物理课上,这些可以用两个不同的向量表示:位置向量和速度向量。

有些更复杂的移动模型可能会考虑偏航率。偏航率考虑以车辆中心为中心的旋转角度和角速度,例如: \mathbf{x} = [x, y, v_x, v_y, \psi, \dot{\psi}]

因此,要使用卡尔曼滤波方程并执行对象跟踪,你必须熟悉向量并学会如何使用它们编写程序。